home *** CD-ROM | disk | FTP | other *** search
- /*
- * xrt.c - cross-reference table
- */
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
-
- #include "ln_seq.h"
- #include "xrt.h"
-
- struct treenode
- {
- char *word;
- ln_seq lines;
- treenode *left, *right;
- treenode(unsigned);
- ~treenode();
- };
-
- treenode::treenode(unsigned n) : lines(n) { }
-
- treenode::~treenode()
- {
- delete word;
- delete left;
- delete right;
- }
-
- static treenode *addtree
- (treenode *t, char *w, unsigned n)
- {
- // same as Listing 7 ...
- }
-
- static void printtree(treenode *t)
- {
- // same as Listing 4 ...
- }
-
- static treenode *root = 0;
-
- void xrt_add(char *w, unsigned n)
- {
- root = addtree(root, w, n);
- }
-
- void xrt_destroy(void)
- {
- delete root;
- }
-
- void xrt_print(void)
- {
- printtree(root);
- }
-
-